package com.neuedu.hisboot.service;

import com.neuedu.hisboot.entity.Medicalrecord;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  电子病历服务类
 * </p>
 *
 * @author jaun
 * @since 2025-07-04
 */
public interface IMedicalrecordService extends IService<Medicalrecord> {

    /**
     * 根据病历号获取病历记录
     */
    Medicalrecord getByCaseNumber(String caseNumber);

    /**
     * 根据挂号ID获取病历记录
     */
    Medicalrecord getByRegistId(Integer registId);

    /**
     * 根据病历状态获取病历记录列表
     */
    List<Medicalrecord> getByStatus(Integer status);

    /**
     * 保存病历为模板
     */
    boolean saveAsTemplate(Medicalrecord medicalrecord);

    /**
     * 根据医生ID获取病历记录列表
     */
    List<Medicalrecord> getByDoctorId(Integer doctorId);

    /**
     * 根据患者ID获取病历记录列表
     */
    List<Medicalrecord> getByPatientId(Integer patientId);

    /**
     * 导入模板到病历
     */
    Medicalrecord importTemplate(Integer medicalRecordId, Integer templateId);

    /**
     * 导出病历为模板
     */
    boolean exportTemplate(Integer medicalRecordId);
}
